Atmega project 2023-01Atmega / 2560 - 209 8x8 64-ch sw, keypad, 16x8 128-ch ws28, tuya, lan & gsm
Laatste update: 2024-04-25 10:25

menu voor deze pagina; (klik op de kop om terug te gaan naar dit menu)
  1. Inleiding
  2. Onderdelen
  3. Externe software
  4. 64 Knoppen op 4 pinnen
  5. 128 LEDs + ws2811 = 2 pins
  6. GSM module
  7. Tuya module
  8. LAN module
  9. Bouw van het project
  10. DLC_209_code.ino
  11. Foto overzicht


Inleiding
In dit project word een atmega-2560 gebruikt in verband met het te kleine geheugen van de 328 serie chip. Ook zal de ethernet, ws28xx en de andere benodigde libs nog wat ran en scriptruimte vragen.

Met zowel de tuyav, gsm als ethernet koppeling zal bediening op vele manieren mogelijk zijn, losse drukknoppen worden waarschijnlijk toegevoegd sinds een keypad onmogelijk de status van 100 (of meer!) uitgangen kan laten zien, nog los van de ingangen voor PIR, deur, raan en dat soort sensors.

Via het LAN kan deze dan ook andere modules aansturen (en uitlezen) zodat alle modules samen een groot geheel vormen.

Het plan omvat ook enkele kaartjes met totaal 24+ ws2811 chips die 72+ uitgangen kan sturen van 16mA in 256 niveaus, waarvan we alleen 0 en 1 (*255) zullen inzetten als schakel-kanaal voor 2/6/25/40S SSR's. Deze kunnen zonder al te veel problemen achter elkaar gehangen worden en hebben weinig tot geen verlies, pluspunt is ook dat na 1 puls alles meteen blijft staan zo lang je geen data meer verzend. Dat gaan we dus bij updates en daarbuiten 1x per 5s doen voor het geval een verbinding of voeding uit geweest is. (auto-recover)

Daarnaast zullen ook energiemonitors, bewaking, sluitwerk, LAN en WAN hierin worden meegenomen. De externe koppeling zal via een zeer beperkte proxy lopen zodat het geheel ongevoelig zal zijn voor hackpoginen en alleen vooraf bepaalde commando's zal uitvoeren.

De weergave van status zal via net zoveel WS2811/12 leds worden geregeld waarbij we donkergroen willen gaan gebruilen voor uit (veilig) en wat feller rood voor aan (en actieve sensoren).
Elke uitgang kan teminste 512 kleuren aan, dus dat is nog aan te passen voor -onder andere- status monitors zoals PIR (geel) en rooknelders (fel rood).
Uit
Aan
Err


Hierin zal ook een netwerk monitor zitten die DHCP in de gaten houd en zichtbaar maakt hoe lang een node actief is. De kleuren;
<1m
1m-5m
5m-1u
1u-1d
1-3d
4-7d
7+d


De plannen en keuze voor 5050, 5mm of zelfs 8mm leds gaan afhangen van de prijzen, Recent bleek al dat de voorbedrade WS2811 8mm leds zeer pretttig werken, voldoende kabel hebben tussen leds en dat zelfs het overslaan van leds helemaal niet zo moeilijk was.



Onderdelen
2Atmega 2560 board
2Enc28j60 bosrd
2wma354 module
2GSM module (+ µSIM)
4eurocard strip board
48WS2811 DIL chip
1pin headers / bussen, onbekend aantal!
64druktoetsen
128leds (strip/ws2811/ws2812)
55v 3.5A voeding


Externe software

#include <EEPROM.h>
#include <Ethernet.h>
#include <string.h>
#include <SoftwareSerial.h>
#include <Tuyav.h>
#include <global.h>
#include <Wire.h>
#include <Adafruit_NeoPixel.h>
#include <LiquidCrystal_I2C.h>
#include <OnewireKeypad.h>


64 Knoppen op 4 pinnen
Het grote bedieningspaneel met controle-leds zal 64 knoppen krijgen. Hoe gaat dat: De knoppen gaan ten koste van slechts 4 analoge pinnen.
de knoppen zullen per 16 in een groep geplaatst worden met een simpele serie van 16x 470R weerstand (R) om te zien welke knop ingedrukt is. De waarde kan simpel berekend worden (1024/16)-1 en de foutmarges zijn best goed. De onderstaande + aansluiting is +5v van de mega en NIET de Aref. Voor de ws28xx chips gebruiken we een aparte voeding zodat deze lijn netjes op 5v blijft staan.
Vref RRR K01 R K02 R K03 R K04 R K05 R K06 R K07 R K08
- R
To analog pin with 200k pull-up to vref.
Other R = 1k ~ 2k each
16x R in 1 string.
-
Gnd RR K09 R K10 R K11 R K12 R K13 R K14 R K15 R K16
De 2e connector van elke drukknop in de groep zit aan elkaar en gaat naar de analoge pin met interne pull-up aan.

Het resultaat van alle 64 knoppen kan dan als analoge waarde worden gelezen.
Knop 01-16 =pin A12, 17-32 pin A13, 33-48 pin A14 en 49-64 pin A15;
Is geen van de waarden onder 1000? dan is geen enkele knop ingedrukt en slaan we het controleren+verwerken over.
knop 01 02 03 04 05 06 07 08 16 15 14 13 12 11 10 09
van 950 886 822 758 694 630 566 502 438 374 310 246 182 118 54 0
gem. 960 896 832 768 704 640 576 512 448 384 320 256 192 128 64 0
tot 970 906 842 778 714 650 586 522 458 394 330 266 202 138 74 10






128 LEDs + ws2811 = 2 pins
Voor de 64 knoppen komen er ook 64 controlelampjes in de vorm van 8mm RGB LEDs. Daarnaast zullen er nog eens 64 (of meer!) extra leds zijn ter controle van sensoren, zonnepanelen en meer. Al die full-color leds hebben per 64 (*3*0.02 =) 3.84A nodig, dus daar zetten we 1 voeding per 64 stuks in. Sinds deze leds zeker niet altijd op 100% wit zullen staan. Ook zijn deze grote RGB leds zuiniger dan de strips. De zware 5v voedingen maken nogal wat rare geluiden, dus dat doen we maar even niet. We kijken nog even of een zware ATX voeding een optie is, zo ja dan volstaat 1 goede ook.

Voor nu gaat het dus om 192 (64+128) leds en 64 ws2811 chips voor de uitgangen. We gaan de uitgangen apart sturen van de leds om foutjes in de data te voorkomen. De data gaat met 800kbps over de datalijn, dus een update is in een flits gebeurd.

GSM module
De GSM module werkt met zowel inbellen als SMS en kan (met abo of tegoed) ook worden gebruikt om SMS of spraakberichten te verzenden. Ook alarm-meldingen zijn mogelijk. Via de 12 toetsen kunnen ook uitgangen geschakeld worden, telefoonnummers toegevoeegd en verwijderd en nog veel meer. Deze module krijgt ook een eigen voeding met een stuk of 10 extra elco's voor stabiliteit. (zeer hoog impuls-verbruik >5A.)

Tuya module
Deze module maakt verbinding met het tuya netwerk en bevat de nodige in en uitgangen.
3x Analoog in
3x Analoog uit
3x Digitaal in
5x Digitaal uit
9x 1024-bytes uit
Zelfs al zou geen enkele optie gebruikt worden, kan deze altijd nog als gateway gebruikt worden om taken te activeren of in de gaten te houden.

LAN module
Hiermee kan de mega-2560 met het LAN verbonden worden en is communicatie in 2 richtingen mogelijk. Sinds het buffer vrij klein is zijn ook de opties beperkt. Dat maakt een hack ook meteen onmogelijk, en zijn namelijk geen onbekende mogelijkheden.

Bouw van het project
De bouw is nog niet gestart.

DLC_209_code.ino
Plan-fase.
De code zal alleen voor leden zichtbaar zijn, dit in de vorm van een kopie waar de nodige beveiliging (pincodes, telefoonnummers, ip etc) niet ingevuld is kan op aanvraag klaargezet worden.

Momenteel is er nog geen code aanwezig omdat nog niet alle vereiste onderdelen er zijn. Ook moet nog worden nagegaan of die delen allemaal samen lunnen werken. Zo niet dan kan het zijn dat we taken gaan onderverdelen, bijvoorbeel om RAM problemen te vermijden.

Foto overzicht
Er zijn nog geen foto's, nog niet alle onderdelen zijn geleverd.